/**
 * 
 */
package com.iknight.mgr.core.tree;

import java.io.Serializable;
import java.util.List;

import net.sf.json.JSONObject;

/**
 * @author Jeryzym
 * @param <T>
 * @param <T>
 *
 */
public abstract class TreeNode<T> implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String id;
	private String text;
	private String icon;
	private String pid;
	private String checkTemp = "";
	private JSONObject state = new JSONObject();
	private List<T> nodes;

	/**
	 * @return the id
	 */
	public final String getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public final void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the text
	 */
	public final String getText() {
		return text;
	}

	/**
	 * @param text
	 *            the text to set
	 */
	public final void setText(String text) {
		this.text = text;
	}

	/**
	 * @return the icon
	 */
	public final String getIcon() {
		return icon;
	}

	/**
	 * @param icon
	 *            the icon to set
	 */
	public final void setIcon(String icon) {
		this.icon = icon;
	}

	/**
	 * @return the pid
	 */
	public final String getPid() {
		return pid;
	}

	/**
	 * @param pid
	 *            the pid to set
	 */
	public final void setPid(String pid) {
		this.pid = pid;
	}

	/**
	 * @return the checkTemp
	 */
	public final String getCheckTemp() {
		return checkTemp;
	}

	/**
	 * @param checkTemp
	 *            the checkTemp to set
	 */
	public final void setCheckTemp(String checkTemp) {
		this.checkTemp = checkTemp;
	}

	/**
	 * @return the state
	 */
	public final JSONObject getState() {
		return state;
	}

	/**
	 * @param state
	 *            the state to set
	 */
	public final void setState(JSONObject state) {
		this.state = state;
	}

	/**
	 * @return the nodes
	 */
	public final List<T> getNodes() {
		return nodes;
	}

	/**
	 * @param nodes the nodes to set
	 */
	public final void setNodes(List<T> nodes) {
		this.nodes = nodes;
	}

}
